// index.ts
// 获取应用实例
// const app = getApp<IAppOption>() as any
import { requestPOST } from '../../utils/service'

Page({
  /**
   * 页面的初始数据
   */
  data: {
    logInStatus: '',//登录状态===已登录为 ok 未登录为 notRegister
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.logIn()
  },

  // 登录 (wx登录成功后在home页面调用我们自己的登录接口)
  logIn() {
    wx.login({
      success: r => {
        const data = {
          "loginType": "MINI_APP",
          "wxAuthenticationCode": r.code,
        }
        requestPOST("user/login", data)
          .then((res: any) => {
            if (res.data.code == '200') {
              // 登录成功
              this.setData({
                logInStatus: 'ok'
              })
              // 存token
              wx.setStorageSync('token', res.header.Authorization)
              // 存用户信息
              wx.setStorageSync('userInfo', res.data.data.user)
              wx.setStorageSync('logInStatus', 'ok')
            } else if (res.data.code == '1002') {
              // 未注册
              wx.setStorageSync('openId', res.data.data)
              wx.setStorageSync('logInStatus', 'notRegister')
              this.setData({
                logInStatus: 'notRegister'
              })
            } else {
              // 登录失败
              this.setData({
                logInStatus: 'notRegister'
              })
              wx.setStorageSync('logInStatus', 'notRegister')
              console.log("登录失败")
              wx.showToast({
                title: '登录失败',
                icon: 'error',
                duration: 2000
              })
            }
          })
      },
    })

  },
  // 页面跳转
  jumpTo(e: any) {
    if (wx.getStorageSync('logInStatus') == 'notRegister') {
      // 未注册
      wx.navigateTo({
        url: '/pages/myInfo/index',
      })
    } else {
      const url = '/pages/' + e.currentTarget.dataset.type + '/index'
      wx.navigateTo({
        url: url,
      })
    }

  },
  // 注册
  register(e: any) {
      wx.navigateTo({
        url: '/pages/register/index',
      })
    

  },

})
